#include <stdio.h>
//typedef UINT64 unsigned long long 

float  StringTofloat(char *pStr)

{	
		//UINT64 nData = 0;	
		unsigned long  nData = 0;	
		float *pData; 	
		int i;
		for (i = 0;i < 31;i ++)	
		{		nData += (pStr[i] - '0');		
				nData <<= 1;	
		}	
		nData += (pStr[31] - '0');	
		pData = (float *)&nData;	
		return *pData;
}
void main(void)
{
	char* str = "00111111100000000000000000000000";
	float t = StringTofloat(str);
	printf("~~~%lf\n", t);
}
